#ifndef NORMALMODESERVER_H_
#define NORMALMODESERVER_H_

#include "Server.h"
#include <string>
#include "Jugador.h"
#include "Mensaje.h"
#include "socket.h"
#include "conexiones.h"
#include "mutex.h"
using namespace std;
using namespace red;
using namespace red::sockets;

class NormalModeServer : public Server
{
public:
	NormalModeServer(Conexiones &p_Conexiones, string pathTextura, string pathXmlMapa);
	void broadcast(Mensaje& unMensaje);
	void broadcast(string unMensaje);
	bool getTerminado();
	void enviarMensaje(Jugador* jugador, string mensaje);
	void enviarMensaje(Jugador* jugador, Mensaje& mensaje);
	void enviarMapa(Jugador* jugador);
	void enviarTextura(Jugador* jugador);
	void setTerminado();
	void finalizar();
	virtual ~NormalModeServer();
private:
	string pathTextura;
	string pathXmlMapa;
	Conexiones &m_Conexiones;
	bool m_bTerminar;
	Mutex m_Mutex_Protocolo;
	Mutex m_Mutex_bTerminar;

};

#endif /*NORMALMODESERVER_H_*/
